// 4.3. 变量作用域-全局变量初始化默认值
/**
 * 
 * 作用域是程序的一个区域，一般来说有三个地方可以定义变量：
在函数或一个代码块内部声明的变量，称为局部变量。
在函数参数的定义中声明的变量，称为形式参数。
在所有函数外部声明的变量，称为全局变量。

 * 当局部变量被定义时，系统不会对其初始化，您必须自行对其初始化。定义全局变量时，系统会自动初始化为下列值：
 int	0
char	'\0'
float	0
double	0
pointer	NULL
*/
#include <iostream>

int num;
char c;
float f;
double salary;
int *a;

int main()
{
  std::cout << "num:\t" << num << '\n'
            << "c:\t" << c << '\n'
            << "f:\t" << f << '\n'
            << "salary:\t" << salary << '\n'
            << "*a:\t" << (void *)a << std::endl; // 0 ??

  printf("-------------end----------\n");
  return 0;
}